import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.rcParams['figure.dpi'] = 100
plt.rcParams['figure.figsize'] = (10, 6)
# 数据
months = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月']
completion_rates = [53.60, 49.80, 52.70, 70.80, 60.90, 49.60, 58.60, 70.40]

# 创建图形
fig, ax = plt.subplots()

# 绘制菱形图
for i, rate in enumerate(completion_rates):
    ax.plot([i, i], [0, rate], color='red', linestyle='-', linewidth=0.5)  # 竖线
    ax.scatter(i, rate, color='red', marker='D')  # 菱形点
    ax.text(i, rate + 1, f'{rate}%', ha='center', color='white')  # 标注文本

# 设置X轴和Y轴
ax.set_xticks(range(len(months)))
ax.set_xticklabels(months, color='white')

# 添加标题
plt.title('2022年1-8月公司计划完成率', fontsize=30, weight='bold', loc='left', pad=25, color='white')
# 添加子标题
plt.text(0.475, 1.03, '公司整体完成率55%，4月和8月超过70%，2月和6月较低未过半', ha='center', va='center',
         transform=plt.gca().transAxes, fontsize=20, color='white')

# 修改背景颜色
ax.set_facecolor('#1b1d4e')
fig.patch.set_facecolor('#1b1d4e')
ax.spines['bottom'].set_color('#5D607A')

# 隐藏特定边框
for position in ['left', 'right', 'top']:
    ax.spines[position].set_color('none')

# 隐藏Y轴的刻度和刻度标签
ax.yaxis.set_ticks([])

# 显示图形
plt.show()
